//
//  Cache.h
//  QQing
//
//  Created by 孙友明 on 1/29/15.
//
//

#import <Foundation/Foundation.h>

@interface Cache : NSObject

+ (Cache *)sharedCache;

// 属性标记
@property BOOL isSignin;

// 保存和移除用户名、密码、登陆状态和基础信息

/**
 *  保存用户名和密码
 *
 *  @param username 用户名
 *  @param password 密码
 */
- (void)setUsername:(NSString *)username password:(NSString *)password;
/**
 *  保存用户名
 *
 *  @param username 保存用户名
 */
- (void)setUsername:(NSString *)username;
/**
 *  获取用户名
 *
 *  @return 用户名
 */
- (NSString *)username;
/**
 *  获取用户密码
 *
 *  @return 密码
 */
- (NSString *)password;


/**
 *  保存用户userID到本地（NSUserDefaults）
 *
 *  @param userID 用户id
 */
- (void)setUserID:(long long)userID;
/**
 *  获取用户userID
 *
 *  @return userID
 */
- (long long)userID;


/**
 *  保存登录标识符
 *
 *  @param _isSignin 登录标识符
 */
- (void)setCookie:(BOOL)_isSignin;
/**
 *  获取登录标识符
 *
 *  @return 登录标识符
 */
- (BOOL)cookie;


/**
 *  保存session
 *
 *  @param session session
 */
- (void)setSession:(long)session;
/**
 *  获取session
 *
 *  @return session
 */
- (long)session;


/**
 *  保存用户基本信息
 *
 *  @param baseinfo 用户基本信息
 */
- (void)setUserBaseinfo:(NSDictionary *)baseinfo;
/**
 *  获取用户基本信息
 *
 *  @return 用户基本信息
 */
- (NSDictionary *)userBaseinfo;


/**
 *  移除用户（包括基础信息（baseinfo）、登录标识符（cookie）、用户名（username）、用户密码（password））
 */
- (void)resetUser;

@end

